Optimized Construction of ICC Profiles by Lattice Regression
نویسندگان
چکیده
We focus on a recently proposed regression framework termed lattice regression, as applied to the construction of multidimensional color management look-up tables from empirical measurements. The key idea of lattice regression is that the construction of a look-up table should take into account the interpolation function used in its final implementation. Lattice regression solves for the look-up table (LUT) that minimizes the error of interpolating the empirical measurements (training samples) and regularization is added to promote smoothness and enable extrapolation. The main contribution of this paper is the proposal and analysis of using the thin-plate regularizer for lattice regression to produce smooth and accurate color transformations. Experiments with a consumer inkjet and laser printer show that the proposed regularizer obtains similar accuracy to the previously-proposed (and more complicated) combination of Laplacian and globalbias regularizers, and that both can create significantly more accurate and smoother results than a state-of-the-art locally linear approach. Estimation for Color Transformations It is common to transform colors between colorspaces and devices by first characterizing the transformation with a look-up table (LUT), and then interpolating the LUT to transform new color values. The LUT can be specified in an International Color Consortium (ICC) profile, which is part of a standard color management workflow. In this paper we consider the estimation question of how to best specify a LUT to characterize a color transformation. Recently, we proposed a new approach called lattice regression for learning a LUT from sample pairs of input and output colors that takes into account that the LUT is interpolated at runtime [6, 7], but that preliminary work required a complicated regularizer in order to perform well in practice. In this paper, we show that similar results can be achieved using the more elegant thin-plate regularizer [8]. For simplicity, and because it is a common case, we refer throughout to the input color space as CIELAB and the output color space as RGB, but everything applies to transformations between any two colorspaces. We call the LUT defined over the input color space the lattice a, which has vertices {a1,a2, . . . ,am}, where each vertex ai ∈ CIELAB. Then the goal is to learn the output RGB color for each ai. We treat each of the output color planes separately so that the output color corresponding to vertex ai is the scalar color value bi ∈ [0,255]. Printing a calibration target results in data pairs {xi,yi}, where xi ∈ CIELAB, yi ∈ [0,255] and i = 1...n, where n is the number of color patches in the calibration target. The standard approach to learning a color transformation is to first fit a function to the data pairs {xi,yi} to produce an estimated function f̂ that maps CIELAB to [0,255]. Then, the estimated function f̂ is evaluated at the the vertices of the lattice. That is, the estimated output value for ai is b̂i = f̂ (ai). Mathematically, the estimated function f̂ is chosen to minimize the sum of some loss function, usually squared error as shown here: f̂ = arg min f∈F n ∑ i=1 ( f (xi)− yi), (1) where F is a set of allowed functions. For example, standard least-squares linear regression is (1) with F being the set of all linear functions f (x) = β T x+β0. Neural nets, decision trees, and support vector machine regression and other standard approaches to regression can be written as (1) for different choices of F , sometimes with a different loss function than squared error, and sometimes with additional regularization terms that are independent of the data but add a preference for smoother functions in the function class F . Many such regression methods have been compared for learning ICC profiles [1, 2, 11]. Bala’s experiments showed that the best accuracy was obtained with a local linear regression [2]. Roughly 20% improvement in median accuracy was achieved over local linear regression using the enclosing neighborhood definition and ridge regularization [9], and further accuracy improvements were shown if the ridge regularizer was replaced by a Tikhonov regularizer [10]. Another metric in the creation of ICC profiles is whether smooth images input to the LUT appear smooth after the LUT interpolation [14, 15]. Lattice Regression The problem with the standard approach described by (1) is that the LUT will be interpolated at run-time to actually estimate output color values for an image, and this interpolation step is not taken into account in fitting the function by (1). For example, if one used the LUT to estimate the appropriate RGB color for a training sample xi, the output of the lookup table is not f̂ (xi), rather it is the interpolation of xi from the vertex-output pairs {(ai, b̂i)} that surround xi. Thus, the error being minimized in (1) does not represent the true error produced by the LUT. Lattice regression takes into account the LUT interpolation, and directly chooses the m×1 vector of output values b such that the interpolated training CIELAB colors will be close to their corresponding RGB output values. A training point xi in CIELAB falls in a cell of the lattice with eight vertices; the jth vertex in the lattice is given a linear interpolation weight wi j ≥ 0, where wi j = 0 if a j is not a vertex of the cell containing xi, and otherwise wi j is set so that linear interpolation equations hold: ∑ j wi ja j = xi, and ∑ j wi j = 1 (see [6] for more on calculating linear interpolation weights). The LUT then interpolates the input CIELAB value xi as ŷi = ∑ j wi jb j. Lattice regression minimizes the post-interpolation error on the training data. That is, it chooses the m× 1 vector of output values b̂ that solve, b̂ = arg min b∈[0,255]m n ∑ i=1 (ŷi− yi) . = arg min b∈[0,255]m n ∑ i=1 (( ∑ j wi jb j ) − yi )2
منابع مشابه
An Irregular Lattice Pore Network Model Construction Algorithm
Pore network modeling uses a network of pores connected by throats to model the void space of a porous medium and tries to predict its various characteristics during multiphase flow of various fluids. In most cases, a non-realistic regular lattice of pores is used to model the characteristics of a porous medium. Although some methodologies for extracting geologically realistic irregular net...
متن کاملBuilding Accurate and Smooth ICC Profiles by Lattice Regression
A system-optimized framework is presented for learning a multi-dimensional look-up-table (LUT) from training samples. The technique, termed lattice regression, solves for an entire LUT at once by optimizing the three-fold objective of 1) low interpolation error on training data, 2) smooth transitions between adjacent LUT outputs, and 3) a steady overall functional trend. The proposed algorithm ...
متن کاملEffects Of Display Gamma And Illuminant On The Appearance Of Colours Viewed On Lcd Monitors Author
The ciecam02 colour appearance model was developed to allow prediction of accurate colour appearance under various viewing conditions. In this study, a software module, based on mathematical transformations of the ciecam02 model, was designed and implemented. Unlike the previous software modules, which were allowing use of only a limited choice of common standardized icc display profiles, the d...
متن کاملConstruction Features of Color Output Device Profiles
Software developers have created applications that can build custom device profiles that conform to the standards established by the International Color Consortium (ICC). These software applications must address several color reproduction issues during the construction of an ICC device profile. The color reproduction issues could be controlled by input from the person building the profile or by...
متن کاملAn Analysis of Contributory Factors in the Formation of Carpentry Latticework
Gerehchini (latticework) is one of the most prominent patterns used in Iranian handicrafts and buildings. It should not be considered as a mere visual pattern, but in principle as a solution to solve executive challenges. Carpentry latticework is a type of geometrical pattern used in making fences, doors and most of all latticed windows. Due to the vulnerability of wood material, especially owi...
متن کامل